package com.example.experiment5;

import com.example.experiment5.mimic.LinkedList;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;


import static org.junit.jupiter.api.Assertions.assertEquals;

public class LinkedListTest {

    @DisplayName("测试1")
    @Test
    void p1_test () {
        LinkedList<Integer> p1_list = new LinkedList<>();
        p1_list.add(1);
        p1_list.add(2);
        p1_list.add(3);
        p1_list.add(4);
        p1_list.add(5);

        assertEquals(false, p1_list.remove(null));

    }

    @DisplayName("测试2")
    @Test
    void p2_test () {
        LinkedList<Integer> p2_list = new LinkedList<>();
        p2_list.add(1);
        p2_list.add(2);
        p2_list.add(4);
        p2_list.add(null);
        p2_list.add(5);

        assertEquals(true, p2_list.remove(null));

    }

    @DisplayName("测试3")
    @Test
    void p3_test () {
        LinkedList<Integer> p3_list = new LinkedList<>();
        p3_list.add(2);
        p3_list.add(3);
        p3_list.add(4);
        p3_list.add(5);
        p3_list.add(6);

        assertEquals(false, p3_list.remove(new Integer(1)));

    }

    @DisplayName("测试4")
    @Test
    void p4_test () {
        LinkedList<Integer> p4_list = new LinkedList<>();
        p4_list.add(1);
        p4_list.add(2);
        p4_list.add(3);
        p4_list.add(4);
        p4_list.add(5);

        assertEquals(true, p4_list.remove(new Integer(2)));

    }


}
